home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1998 #4 / Amiga Plus CD - 1998 - No. 4.iso / pd / grafik / plotter3d / install-plotter3d < prev    next >
Text File  |  1998-02-03  |  23KB  |  782 lines

  1. ; $VER: Install-Plotter3D 3.20 (03.02.98)
  2.  
  3. ;##############################################################################
  4. ; Localize
  5. ;
  6.  
  7. (if (= @language "deutsch")
  8.   (
  9.     (set #wrongversion
  10.       (cat "Achtung! Es ist eine alte Version des Programmes 'Installer' "
  11.               "auf Ihrem Amiga!\n\nDie Installation benötigt mindestens Installer 42.9.\n\n"
  12.               "Bitte überprüfen Sie Ihre Konfiguration!"
  13.     ))
  14.  
  15.     (set #update "Update")
  16.     (set #abort  "Abbrechen")
  17.  
  18.     (set #welcome_full (cat
  19.       "\n"
  20.       "Willkommen zum Plotter3D Installationsprogramm. \n"
  21.       "\n"
  22.       "Plotter3D ist Freeware, daß heißt es kann frei  \n"
  23.       "vertrieben werden, solange keinerlei Profit     \n"
  24.       "damit gemacht wird und das Archiv unverändert   \n"
  25.       "bleibt. \n"
  26.       "\n"
  27.       "Neue Versionen können aus dem AmiNet bezogen    \n"
  28.       "werden, Updates oder aktuelle Version können    \n"
  29.       "von meiner Homepage geladen werden:             \n"
  30.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  31.       "\n"
  32.       "                            Sven Steiniger, 1998\n"
  33.     ))
  34.     (set #welcome_beta (cat
  35.       "\n"
  36.       "Willkommen zum Plotter3D Installationsprogramm. \n"
  37.       "\n"
  38.       "Sie installieren gerade eine BETA-Version von   \n"
  39.       "Plotter3D! Bitte legen sie erst eine Kopie Ihres\n"
  40.       "'Plotter3D:'-Verzeichnisses an.                 \n"
  41.       "Falls Sie irgendwelche Fehler finden, schicken  \n"
  42.       "Sie bitte eine EMail mit dem Schlüsselwort      \n"
  43.       "'Plotter3D-Bug' im Subjekt-Feld an folgende     \n"
  44.       "Adresse:                                        \n"
  45.       "   ss37@inf.tu-dresden.de                       \n"
  46.       "\n"
  47.       "                           Danke, Sven Steiniger\n"
  48.     ))
  49.     (set #welcome_update (cat
  50.       "\n"
  51.       "Willkommen zum Plotter3D Installationsprogramm. \n"
  52.       "\n"
  53.       "Sie installieren gerade ein Update zu Plotter3D!\n"
  54.       "Es muß schon eine Vollversion von Plotter3D v3.x\n"
  55.       "auf ihrem System installiert sein. Die aktuelle \n"
  56.       "Version kann aus dem AmiNet geladen werden      \n"
  57.       "(gfx/3d/Plotter3D.lha).                         \n"
  58.       "\n"
  59.       "                            Sven Steiniger, 1998\n"
  60.     ))
  61.     (set #error_beta (cat
  62.       "\n"
  63.       "Dieses Archiv enthält nur ein Update (beta-     \n"
  64.       "Version) von Plotter3D!                         \n"
  65.       "Es scheint, daß noch keine Vollversion auf Ihrem\n"
  66.       "System installiert ist. Darum kann Ich kein     \n"
  67.       "Update durchführen.                             \n"
  68.       "\n"
  69.       "Die neuste Vollversion kann entweder aus dem    \n"
  70.       "AmiNet oder von meiner Homepage                 \n"
  71.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  72.       "bezogen werden.                                 \n"
  73.     ))
  74.  
  75.     (set #installing "Installiere %s...")
  76.     (set #cleaning   "Räume auf...")
  77.  
  78.     (set #cp_main   "Installiere Hauptprogramm 'Plotter3D'.")
  79.     (set #cp_docs   "Installiere Documentation.")
  80.     (set #cp_libs   "Installiere Libraries.")
  81.     (set #cp_locale "Installiere Sprachen.")
  82.     (set #cp_funcs  "Kopiere Beispiel-Funktionen.")
  83.     (set #cp_mats   "Kopiere Beispiel-Materialen.")
  84.     (set #cp_lights "Kopiere Beispiel-Lightquellen.")
  85.     (set #cp_datas  "Kopiere Beispiel-Daten.")
  86.     (set #cp_pals   "Kopiere Standard-Farbpaletten.")
  87.     (set #cp_images "Kopiere Bilder für Werkzeugleiste.")
  88.     (set #cp_prefs  "Kopiere Voreinstellungen.")
  89.     (set #cp_tools  "Kopiere Tools.")
  90.  
  91.     (set #ask_update  "Plotter3D ist schon auf ihrem System installiert.\nSie können diese Installation updaten oder abbrechen.")
  92.     (set #ask_docs    "Bitte wählen Sie die Sprache(n) für die AmigaGuide Dokumentation aus.")
  93.     (set #ask_locale  "Bitte wählen Sie die Sprache(n) aus, die Sie installieren wollen.")
  94.     (set #ask_funcs   "Bitte wählen Sie die zu installierenden Beispiele aus.\n(Empfohlen: Alle)")
  95.     (set #ask_drawers "Bitte wählen Sie die Verzeichnisse aus, die kopiert werden sollen.\n(Empfohlen: Alle)")
  96.     (set #ask_others  "Bitte wählen Sie die Dateien aus, die kopiert werden sollen.")
  97.     (set #ask_clean1  (cat
  98.       "Das Dateiformat für Paletten und     \n"
  99.       "Bilder hat sich geändert. Sollen die \n"
  100.       "alten Dateien gelöscht werden, wenn  \n"
  101.       "sie doppelt vorhanden sind? (sowohl  \n"
  102.       "im neuen als auch im alten Format)   \n"
  103.     ))
  104.     (set #ask_clean2  (cat
  105.       "The tools 'ConvertPalette' und 'ILBM2Chunky'\n"
  106.       "wurden aus dem Archiv entfernt. Sie wurden  \n"
  107.       "durch die Programme 'ChunkyMaster' und      \n"
  108.       "'PalettesMaster' ersetzt.                   \n"
  109.       "Sollen die alten Programme gelöscht werden? \n"
  110.     ))
  111.  
  112.     (set #destdir "Bitte wählen Sie einen Platz für Plotter3D. Ein Verzeichnis namens 'Plotter3D' wird dort automatisch erzeugt.")
  113.     (set #startup "Einige Kommandos werden zu ihrer \"s:user-startup\" Datei gefügt.")
  114.  
  115.     (set #user_abort "Fehler: Abbruch durch den Benutzer.")
  116.     (set #copyerror  "Fehler: Verzeichnis/Datei \"%s\" fehlt!\nEs kann sein das Plotter3D nach der Installation nicht oder nicht korrekt funktioniert.")
  117.  
  118.     (set #answer_yes "Ja")
  119.     (set #answer_no  "Nein")
  120.  
  121.   )
  122.   (
  123.     (set #wrongversion
  124.          (cat "You have an old version of the program 'Installer' "
  125.               "on your Amiga!\n\nThe installation procedure needs at least Installer 42.9.\n\n"
  126.               "Please check your configuration!"
  127.     ))
  128.  
  129.     (set #update "Update")
  130.     (set #abort  "Abort")
  131.  
  132.     (set #welcome_full (cat
  133.       "\n"
  134.       "Welcome to the Plotter3D installation program.  \n"
  135.       "\n"
  136.       "Plotter3D is Freeware, means it can be spread   \n"
  137.       "freely as long as no profit is made and the     \n"
  138.       "archive is not modified.                        \n"
  139.       "\n"
  140.       "You can get new versions from AmiNet. Updates   \n"
  141.       "and actual beta-versions can be downloaded from \n"
  142.       "my homepage at:                                 \n"
  143.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  144.       "\n"
  145.       "                            Sven Steiniger, 1998\n"
  146.     ))
  147.     (set #welcome_beta (cat
  148.       "\n"
  149.       "Welcome to the Plotter3D installation program.  \n"
  150.       "\n"
  151.       "You are installing an BETA-version of Plotter3D!\n"
  152.       "Please make a copy of your 'Plotter3D:'         \n"
  153.       "directory first.                                \n"
  154.       "If you find any bugs please mail to:            \n"
  155.       "   ss37@inf.tu-dresden.de                       \n"
  156.       "with subject field containing 'Plotter3D-Bug'   \n"
  157.       "\n"
  158.       "                          Thanks, Sven Steiniger\n"
  159.     ))
  160.     (set #welcome_update (cat
  161.       "\n"
  162.       "Welcome to the Plotter3D installation program.  \n"
  163.       "\n"
  164.       "You are installing an Update of Plotter3D!      \n"
  165.       "It needs an fully installed version of          \n"
  166.       "Plotter3D v3.xx. You can get the lastest package\n"
  167.       "from AmiNet (gfx/3d/Plotter3D.lha).             \n"
  168.       "\n"
  169.       "                            Sven Steiniger, 1998\n"
  170.     ))
  171.     (set #error_beta (cat
  172.       "\n"
  173.       "This archive only contains an update (beta-     \n"
  174.       "version) of Plotter3D!                          \n"
  175.       "It seems you have not installed an full version \n"
  176.       "on your system therefore I could not make an    \n"
  177.       "update.                                         \n"
  178.       "\n"
  179.       "You can get the latest full version either from \n"
  180.       "your local AmiNet-site or from my homepage:     \n"
  181.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  182.     ))
  183.  
  184.     (set #installing "Installing %s...")
  185.     (set #cleaning   "Cleaning up...")
  186.  
  187.     (set #cp_main   "Installing main program 'Plotter3D'.")
  188.     (set #cp_docs   "Installing documentation.")
  189.     (set #cp_libs   "Installing libraries.")
  190.     (set #cp_locale "Installing languages.")
  191.     (set #cp_funcs  "Copying example functions.")
  192.     (set #cp_mats   "Copying example materials.")
  193.     (set #cp_lights "Copying example lightsources.")
  194.     (set #cp_datas  "Copying example datas.")
  195.     (set #cp_pals   "Copying standard colorpalettes.")
  196.     (set #cp_images "Copying toolbar images.")
  197.     (set #cp_prefs  "Copying preferences.")
  198.     (set #cp_tools  "Copying tools.")
  199.  
  200.     (set #ask_update  "Plotter3D is already installed on your system.\nYou can make an update or abort.")
  201.     (set #ask_docs    "Select the language(s) of AmigaGuide documentations you wish to install.")
  202.     (set #ask_locale  "Select the language(s) you wish to install.")
  203.     (set #ask_funcs   "Select the examples you wish to install.\n(Recommended: All)")
  204.     (set #ask_drawers "Select the drawers you wish to copy.\n(Recommended: All)")
  205.     (set #ask_others  "Select the files you wish to copy.")
  206.     (set #ask_clean1  (cat
  207.       "The file format of palettes and      \n"
  208.       "pictures has been changed. Should the\n"
  209.       "old files be deleted if they exists  \n"
  210.       "twice?                               \n"
  211.     ))
  212.     (set #ask_clean2  (cat
  213.       "The tools 'ConvertPalette' and 'ILBM2Chunky'\n"
  214.       "have been removed from the archive. Instead \n"
  215.       "More powerful tools called 'PalettesMaster' \n"
  216.       "and 'ChunkyMaster' have been included.      \n"
  217.       "Should I delete the old tools?              \n"
  218.     ))
  219.  
  220.     (set #destdir "Please select a place for the Plotter3D package. A drawer called 'Plotter3D' will be created here.")
  221.     (set #startup "Some commands will be added to your \"s:user-startup\" file.")
  222.  
  223.     (set #user_abort "Error: User abort.")
  224.     (set #copyerror  "Error: Directory/File \"%s\" is missed!.\nIt is possible that Plotter3D does not work properly after installation.")
  225.  
  226.     (set #answer_yes "Yes")
  227.     (set #answer_no  "No")
  228.  
  229.  
  230.   )
  231. )
  232.  
  233. ;##############################################################################
  234. ; start
  235. (if (< @installer-version 2752521)
  236.   (
  237.     (message #wrongversion)
  238.     (working (#installing "Installer"))
  239.     (copylib
  240.       (source "Installer")
  241.       (dest "C:")
  242.       (optional "force" "askuser")
  243.     )
  244.     (exit (quiet))
  245.   )
  246. )
  247.  
  248. ;#############################################################################
  249. ; procedure P_MakeDir
  250. ; creates a new drawer and copies the icon.
  251. ;
  252. ; #spath - source path
  253. ; #name  - name of drawer
  254.  
  255. (procedure P_MakeDir #pm_path #pm_name
  256.   (
  257.     (if (not (exists (tackon @default-dest (tackon #pm_path #pm_name)) (noreq)))
  258.       (
  259.         (makedir (tackon @default-dest (tackon #pm_path #pm_name)))
  260.       )
  261.     )
  262.     (P_CopyIcon #pm_path #pm_name @copy-help FALSE)
  263.   )
  264. )
  265.  
  266. ;##############################################################################
  267. ; procedure P_CopyDir
  268. ; copies a whole directory including all subdirectories. If an file exists
  269. ; it is not overwritten if it has an higher version.
  270. ;
  271. ; #cp_name      - name of directory
  272. ; #cp_help      - text shown during copy
  273. ; #cp_overwrite - if TRUE then files without version are overwritten
  274.  
  275. (procedure P_CopyDir #cp_name #cp_help #cp_overwrite
  276.   (
  277.     (if (exists #cp_name)
  278.       (
  279.         (working ("%s\n(%s/)" #cp_help #cp_name))
  280.         (foreach #cp_name "~(#?.info)"
  281.           (
  282.             (if (< @each-type 0)
  283.               (
  284.                 (set cd_source (tackon #cp_name @each-name))
  285.                 (set cd_dest   (tackon (tackon @default-dest #cp_name) @each-name))
  286.                 (if (exists cd_dest)
  287.                   (
  288.                     (set cd_doit FALSE)
  289.                     (set cd_version (GETVERSION cd_dest))
  290.                     (if cd_version
  291.                       (if (> (GETVERSION cd_source) cd_version) (set cd_doit TRUE))
  292.                       (if #cp_overwrite (set cd_doit TRUE))
  293.                     )
  294.                   )
  295.                   (set cd_doit TRUE)
  296.                 )
  297.                 (if cd_doit (P_CopyFile #cp_name @each-name #cp_help))
  298.               )
  299.             )
  300.           )
  301.        )
  302.       )
  303.       (if (not #v_update) (message (#copyerror #cp_name) (all)))
  304.     )
  305.   )
  306. )
  307.  
  308. ;##############################################################################
  309. ; procedure P_CopyFile
  310. ; copies a file
  311. ;
  312. ; #cf_path   - path of file
  313. ; #cf_name   - name of file
  314. ; #cf_prompt - text for prompt
  315. ;
  316. (procedure P_CopyFile #cf_path #cf_name #cf_prompt
  317.   (
  318.     (if (exists (tackon #cf_path #cf_name))
  319.       (
  320.         (copyfiles
  321.           (prompt #cf_prompt)
  322.           (help   @copyfiles-help)
  323.           (source (tackon #cf_path #cf_name))
  324.           (dest   (tackon @default-dest #cf_path))
  325.           (nogauge)
  326.         )
  327.         (P_CopyIcon #cf_path #cf_name #cf_prompt FALSE)
  328.       )
  329.       (if (not #v_update) (message (#copyerror (tackon #cf_path #cf_name)) (all)))
  330.     )
  331.   )
  332. )
  333.  
  334. ;##############################################################################
  335. ; procedure P_CopyLib
  336. ; copies a file
  337. ;
  338. ; #cl_path   - path of file
  339. ; #cl_name   - name of file
  340. ; #cl_prompt - text for prompt
  341. ;
  342. (procedure P_CopyLib #cl_path #cl_name #cl_prompt
  343.   (
  344.     (if (exists (tackon #cl_path #cl_name))
  345.       (
  346.         (copylib
  347.           (prompt #cl_prompt)
  348.           (help   @copylib-help)
  349.           (source (tackon #cl_path #cl_name))
  350.           (dest   (tackon @default-dest #cl_path))
  351.         )
  352.         (P_CopyIcon #cl_path #cl_name #cl_prompt FALSE)
  353.       )
  354.       (if (not #v_update) (message (#copyerror (tackon #cl_path #cl_name)) (all)))
  355.     )
  356.   )
  357. )
  358.  
  359.  
  360. ;##############################################################################
  361. ; procedure P_CopyIcon
  362. ; copies an icon
  363. ;
  364. ; #ci_path   - path of icon
  365. ; #ci_name   - name of icon (without .info)
  366. ; #ci_prompt - text for prompt
  367. ;
  368. (procedure P_CopyIcon #ci_path #ci_name #ci_prompt #ci_necessary
  369.   (
  370.     (set ci_file (tackon #ci_path #ci_name))
  371.     (set ci_icon (cat ci_file ".info"))
  372.  
  373.     (if (exists ci_icon)
  374.       (
  375.         (if (exists (tackon @default-dest ci_icon))
  376.           (
  377.             (iconinfo
  378.               (dest (tackon @default-dest ci_file))
  379.               (getposition "#ci_xp" "#ci_yp")
  380.             )
  381.             (copyfiles
  382.               (prompt #ci_prompt)
  383.               (help   @copyfiles-help)
  384.               (source ci_icon)
  385.               (dest   (tackon @default-dest #ci_path))
  386.               (nogauge)
  387.             )
  388.             (tooltype
  389.               (dest (tackon @default-dest ci_file))
  390.               (setposition #ci_xp #ci_yp)
  391.             )
  392.           )
  393.           (copyfiles
  394.             (prompt #ci_prompt)
  395.             (help   @copyfiles-help)
  396.             (source ci_icon)
  397.             (dest (tackon @default-dest #ci_path))
  398.             (nogauge)
  399.           )
  400.         )
  401.       )
  402.       (
  403.         (if (and #ci_necessary (not #v_update))
  404.           (message (#copyerror ci_icon) (all))
  405.         )
  406.       )
  407.     )
  408.   )
  409. )
  410.  
  411. ;##############################################################################
  412. ; procedure P_CleanDir
  413. ; Scans a directory for double files (differs only in suffix)
  414. ;
  415. ; #cld_name      - name of directory
  416. ; #cld_help      - text shown during copy
  417. ; #cld_good      - suffix of good files
  418. ; #cld_bad       - suffix of bad files
  419. ;
  420. (procedure P_CleanDir #cld_name #cld_help #cld_good #cld_bad
  421.   (
  422.     (if (exists #cld_name)
  423.       (foreach #cld_name (cat "#?." #cld_good)
  424.         (if (< @each-type 0)
  425.           (
  426.             (set cld_dest
  427.               (tackon
  428.                 #cld_name
  429.                 (cat
  430.                   (substr
  431.                     @each-name
  432.                     0
  433.                     (- (strlen @each-name) (strlen #cld_good))
  434.                   )
  435.                   #cld_bad
  436.                 )
  437.               )           
  438.             )
  439.             (if (exists cld_dest) (delete cld_dest))
  440.           )
  441.         )
  442.       )
  443.     )
  444.   )
  445. )
  446.  
  447. ;(procedure P_UserAbort
  448. ;  (
  449. ;    (ABORT #user_abort)
  450. ;  )
  451. ;)
  452.  
  453.  
  454. ;##############################################################################
  455. ; global variables
  456.  
  457. (set ul_novice  0)
  458. (set ul_average 1)
  459. (set ul_expert  2)
  460.  
  461. ; last_choice contains the result of the last askoptions-call
  462. (set last_choice       0)
  463.  
  464. (set #v_update   FALSE)
  465. (set #v_partly   FALSE)
  466. (set #v_docs     -1)
  467. (set #v_locale   -1)
  468. (set #v_examples -1)
  469. (set #v_extra    -1)
  470. (set #v_others   -1)
  471.  
  472. ;##############################################################################
  473. ; check beta or update-version.
  474. (if (exists "Beta.readme")
  475.   (
  476.     (message #welcome_beta)
  477.     (set #v_partly TRUE)
  478.   )
  479.   (if (exists "Update.readme")
  480.     (
  481.       (message #welcome_update)
  482.       (set #v_partly TRUE)
  483.     )
  484.     (message #welcome_full)
  485.   )
  486. )
  487. (welcome)
  488.  
  489.  
  490. ;##############################################################################
  491. ; get destination path
  492. (if (exists "plotter3d:" (noreq))
  493.   (
  494.     (set @default-dest (expandpath "plotter3d:/"))
  495.     (set #v_update TRUE)
  496.     (if (not #v_partly)
  497.       (if (not (askbool 
  498.             (prompt  #ask_update)
  499.             (choices #update #abort)
  500.             (help    @askbool-help)
  501.           ))
  502.         (exit (quiet))
  503.       )
  504.     )
  505.   )
  506.   (if #v_partly
  507.     (
  508.       (message #error_beta)
  509.       (exit (quiet))
  510.     )
  511.     (
  512.       (set @default-dest
  513.         (askdir
  514.           (prompt  #destdir)
  515.           (help    @askdir-help)
  516.           (default @default-dest)
  517.         )
  518.       )
  519.       (set @default-dest (expandpath @default-dest))
  520.     )
  521.   )
  522. )
  523.  
  524. ;##############################################################################
  525. ; documentation
  526.  
  527. (if (>= @user-level ul_average)
  528.   (set #v_docs
  529.     (askoptions
  530.       (prompt  #ask_docs)
  531.       (default #v_docs)
  532.       (help    @askoptions-help)
  533.       (choices
  534.         "English"
  535.         "Deutsch"
  536.       )
  537.     )
  538.   )
  539. )
  540.  
  541. ;##############################################################################
  542. ; Locale
  543.  
  544. (if (>= @user-level ul_average)
  545.   (set #v_locale
  546.     (askoptions
  547.       (prompt  #ask_locale)
  548.       (default #v_locale)
  549.       (help    @askoptions-help)
  550.       (choices
  551.         "English (built-in)"
  552.         "Deutsch"
  553.         "Français"
  554.     "Español"
  555.       )
  556.     )
  557.   )
  558. )
  559.  
  560. ;##############################################################################
  561. ; examples
  562.  
  563. (if (>= @user-level ul_expert)
  564.   (set #v_examples
  565.     (askoptions
  566.       (prompt  #ask_funcs)
  567.       (default #v_examples)
  568.       (help    @askoptions-help)
  569.       (choices
  570.         "Functions"
  571.         "Materials"
  572.         "Lightsources"
  573.         "Palettes"
  574.         "Datas"
  575.       )
  576.     )
  577.   )
  578. )
  579.  
  580. ;##############################################################################
  581. ; extra
  582.  
  583. (if (>= @user-level ul_expert)
  584.   (set #v_extra
  585.     (askoptions
  586.       (prompt  #ask_drawers)
  587.       (default #v_extra)
  588.       (help    @askoptions-help)
  589.       (choices
  590.         "Imagebuttons"
  591.         "Preferences"
  592.         "Tools"
  593.       )
  594.     )
  595.   )
  596. )
  597.  
  598. ;##############################################################################
  599. ; others
  600.  
  601. (if (>= @user-level ul_average)
  602.   (set #v_others
  603.     (askoptions
  604.       (prompt  #ask_others)
  605.       (default #v_others)
  606.       (help    @askoptions-help)
  607.       (choices
  608.         "Preview picture"
  609.       )
  610.     )
  611.   )
  612. )
  613.  
  614. ;##############################################################################
  615. ; go
  616.  
  617. (complete 0)
  618.  
  619. (if (not #v_update)
  620.   (
  621.     (makedir
  622.       (tackon @default-dest "Plotter3D")
  623.       (help   @makedir-help)
  624.     )
  625.     (copyfiles
  626.       (help   @copyfiles-help)
  627.       (source "/Plotter3D.info")
  628.       (dest   @default-dest)
  629.     )
  630.     (tooltype
  631.       (dest (tackon @default-dest "Plotter3D"))
  632.       (noposition)
  633.     )
  634.   )
  635. )
  636. (complete 10)
  637.  
  638. (set @default-dest (tackon @default-dest "Plotter3D"))
  639.  
  640. ;##############################################################################
  641. ; copy Main Program
  642.  
  643. ;(copylib
  644. ;  (prompt #cp_main)
  645. ;  (help   @copylib-help)
  646. ;  (source "Plotter3D")
  647. ;  (dest   @default-dest)
  648. ;)
  649. ;(P_CopyIcon "" "Plotter3D" #cp_main TRUE)
  650. (P_CopyLib "" "Plotter3D" #cp_main)
  651.  
  652.  
  653. (P_MakeDir "" "Libs")
  654. (P_CopyDir "Libs" #cp_libs TRUE)
  655. (P_MakeDir "Libs" "Dither")
  656. (P_CopyDir "Libs/Dither" #cp_libs TRUE)
  657.  
  658. (complete 20)
  659.  
  660. ;##############################################################################
  661. ; copy documentation
  662.  
  663. (P_MakeDir "" "Docs")
  664. (P_CopyFile "Docs" "History" #cp_docs)
  665. (P_CopyFile "Docs" "Bugs"    #cp_docs)
  666. (P_CopyFile "Docs" "ToDo"    #cp_docs)
  667.  
  668. (if (IN #v_docs 0) ( (P_MakeDir "Docs" "English") (P_CopyDir "Docs/English" #cp_docs TRUE)))
  669. (if (IN #v_docs 1) ( (P_MakeDir "Docs" "Deutsch") (P_CopyDir "Docs/Deutsch" #cp_docs TRUE)))
  670.  
  671. (complete 30)
  672.  
  673. ;##############################################################################
  674. ; copy Locale
  675.  
  676. (if (> #v_locale 1)
  677.   (
  678.     (makedir (tackon @default-dest "Catalogs"))
  679.     (if (IN #v_locale 1) ( (P_CopyDir "Catalogs/Deutsch"  #cp_locale TRUE) ))
  680.     (if (IN #v_locale 2) ( (P_CopyDir "Catalogs/Français" #cp_locale TRUE) ))
  681.     (if (IN #v_locale 3) ( (P_CopyDir "Catalogs/Español" #cp_locale TRUE) ))
  682.   )
  683. )
  684. (complete 40)
  685.  
  686. ;##############################################################################
  687. ; install functions etc.
  688.  
  689. (if (IN #v_examples 0) ( (P_MakeDir "" "Functions") (P_CopyDir "Functions" #cp_funcs  TRUE)))
  690. (if (IN #v_examples 1) ( (P_MakeDir "" "Materials") (P_CopyDir "Materials" #cp_mats   FALSE)))
  691. (if (IN #v_examples 2) ( (P_MakeDir "" "Lights"   ) (P_CopyDir "Lights"    #cp_lights FALSE)))
  692. (if (IN #v_examples 3) ( (P_MakeDir "" "Palettes" ) (P_CopyDir "Palettes"  #cp_pals   FALSE)))
  693. (if (IN #v_examples 4) ( (P_MakeDir "" "Datas"    ) (P_CopyDir "Datas"     #cp_datas  FALSE)))
  694.  
  695. (complete 50)
  696.  
  697. ;##############################################################################
  698. ; copy extra drawers
  699.  
  700. (if (IN #v_extra 0) ( (P_MakeDir "" "Images") (P_CopyDir "Images" #cp_images TRUE)))
  701. (if (IN #v_extra 1) ( (P_MakeDir "" "Prefs" ) (P_CopyDir "Prefs"  #cp_prefs FALSE)))
  702. (if (IN #v_extra 2) ( (P_MakeDir "" "Tools" ) (P_CopyDir "Tools"  #cp_tools TRUE)))
  703.  
  704. (complete 60)
  705.  
  706. ;##############################################################################
  707. ; copy other datas
  708.  
  709. (if (IN #v_others 0) (P_CopyFile "" "PreviewPic" @copyfiles-help))
  710.  
  711. (complete 80)
  712.  
  713. ;##############################################################################
  714. ; Cleanup 1
  715.  
  716. (if #v_update
  717.   (if (>= @user-level ul_expert)
  718.     (if (askbool
  719.           (prompt  #ask_clean1)
  720.           (help    @askbool-help)
  721.           (choices
  722.             #answer_yes
  723.             #answer_no
  724.           )
  725.         )
  726.       (
  727.         ; remove double palettes
  728.         (P_CleanDir (tackon @default-dest "Palettes") #cleaning "cpal" "pal256") 
  729.         ; remove double pictures
  730.         (P_CleanDir (tackon @default-dest "Datas") #cleaning "ciff" "chunky") 
  731.         (P_CleanDir (tackon @default-dest "Datas") #cleaning "ciff" "pal256") 
  732.       )
  733.     )
  734.   )
  735. )
  736.  
  737. (complete 87)
  738.  
  739. ;##############################################################################
  740. ; Cleanup 2
  741.  
  742. (if #v_update
  743.   (if (>= @user-level ul_expert)
  744.     (if (askbool
  745.           (prompt  #ask_clean2)
  746.           (help    @askbool-help)
  747.           (choices
  748.             #answer_yes
  749.             #answer_no
  750.           )
  751.         )
  752.       (
  753.         (delete (tackon @default-dest "Tools/ConvertPalette") 
  754.            (infos)
  755.         )
  756.         (delete (tackon @default-dest "Tools/ILBM2Chunky") 
  757.            (infos)
  758.         )
  759.       )
  760.     )
  761.   )
  762. )
  763.  
  764. (complete 95)
  765.  
  766. ;##############################################################################
  767. ; startup-sequence
  768.  
  769. (if (not #v_update)
  770.   (startup "Plotter3D"
  771.     (prompt  #startup)
  772.     (help    @startup-help)
  773.     (command "assign Plotter3D: \"" @default-dest "\"")
  774.     (confirm "expert")
  775.   )
  776. )
  777.  
  778. (makeassign "Plotter3D" @default-dest)
  779.  
  780. (complete 100)
  781.